home *** CD-ROM | disk | FTP | other *** search
/ Shareware Overload Trio 2 / Shareware Overload Trio Volume 2 (Chestnut CD-ROM).ISO / dir38 / vga_doc2.zip / ATI.TXT < prev    next >
Text File  |  1993-01-22  |  12KB  |  347 lines

  1.    ATI Technologies Super VGA Chip Sets.
  2.  
  3.     Board           18810 Dot    ROM BIOS
  4.     Version   Chip  Clock Chip   Label
  5.       V3   18800      no          V3M
  6.       V4   18800-1    no          V4M     
  7.       V5   18800-1    yes         V5M   
  8.       V6   28800-2                        VGA Wonder+
  9.       V7   28800-4                        VGA Wonder XL
  10.        28800-5                        VGA Graphics/Ultra
  11.        ?   38800-1                        8514/Ultra and Graphics/Ultra
  12.                          (8514/A chip)
  13.  
  14.  
  15.     ATI Prism Elite uses Trident 8800CS chips.
  16.  
  17.     ATI VGA Wonder XL can use the Sierra HiColor RAMDAC.
  18.  
  19.  
  20.        3C0h (R/W):  Palette index register
  21.        bit 4-5  Mode 67h Palette
  22.          Value   Pixel=0    1      2            3
  23.            0       Black  White  Grey      Bright White
  24.            1       Black  Green  Red       Yellow
  25.            2       Black  Cyan   Red       White
  26.            3       Black  Cyan   Magenta   White
  27.  
  28.  
  29.        1CEh index B0h (R/W): ATI Register 0
  30.      bit 0  Reserved
  31.          3  Enable 8 CRT accesses for each CPU access
  32.          4  (V6)  Video memory: 0=256k, 1=512k
  33.        3-4  (V7)  Video memory: 0=256k, 1=1M, 2=512K, 3=1M?
  34.          6  (V3)  Bit 16 of the Display Start Address
  35.               or Hercules 300 line emulation  ???
  36.        6-7  (V4-V7)  Bit 16-17 of the Display Start Address
  37.        1,2,4,5  DRAM timing
  38.  
  39.        1CEh index B1h (R/W): EGA Compatibility and Double Scanning Enable
  40.      bit 0  Force all I/O addresses to be EGA compatible if set
  41.          1  Force all registers to be EGA compatible if set
  42.          2  General purpose read/write
  43.        3-5  Double scanning/3 of 4 scanning enable
  44.          1: Enable double scanning in graphics mode
  45.          2: Enable 3 of 4 scanning in graphics mode
  46.          5: Enable double scanning in text mode
  47.          6: Enable 3 of 4 scanning in text mode
  48.          6  Divide vertical timing parameters by 2 if set
  49.          7  Reserved
  50.  
  51.        1CEh index B2h (R/W): Bank Register
  52.      bit 0  (V3) Enable interlace if set
  53.        1-4  (V3) Bank no. in 64 chunks
  54.          5  (V3) Enable internal DIP switch settings (EGA mode)
  55.          6  (V3) External clock select
  56.          7  (V3) Reserved
  57.  
  58.          0  (V4-V6) Reserved
  59.        1-3  (V4-V6) Write/Single bank no
  60.          4  (V4-V6) Reserved
  61.        5-7  (V4-V6) Read Bank no
  62.  
  63.          0  (V7)  Bit 3 of Read bank no
  64.        1-4  (V7)  Write/Single Bank no.
  65.        5-7  (V7)  Bit 0-2 of Read bank no. 
  66.  
  67.        1CEh index B3h (R/W): ATI Register 3
  68.      bit 0  EEPROM data input
  69.          1  EEPROM clock source
  70.          2  Enable EEPROM interface
  71.          3  EEPROM chip select
  72.          4  (V3-V5)  Enable PS/2 decoding
  73.         (V6..) Disable memory beyond 256K
  74.          5  Enable 16bit operation
  75.          6  (V6..)  Enable 1024x768 16 color planar pixel mode
  76.          7  (V6..)  Enable double scanning for 200 line modes
  77.        Note: This register should not be modified on revision 1 chips.
  78.  
  79.        1CEh index B4h (R/W): ATI Register 4
  80.      bit 0  Enable CGA emulation
  81.          1  Enable Hercules emulation
  82.          2  Lock CR90-94,CR97
  83.          3  Lock vertical timing registers
  84.          4  Lock cursor start and end
  85.          5  Lock CR80-86 and CR140-144
  86.          6  Lock CR0-7 instead of CR117
  87.          7  Override locking of CR117
  88.  
  89.        1CEh index B5h (R/W): ATI Register 5
  90.      bit 0  Select display enable as blanking signal
  91.          1  Invert blanking signal polarity
  92.          2  Enable display signal skew
  93.          3  Select Map 3 as programmable character generator
  94.          4  Enable 8 simultaneous fonts if set
  95.         Background is then always 0, and bit 4-7 of an attribute
  96.         selects the font.
  97.          5  Disable Cursor Blinking if set
  98.          6  Enable CGA Cursor Emulation if set
  99.         Adds 5 to the cursor start and end registers.
  100.          7  Reserved
  101.  
  102.        1CEh index B6h (R/W): ATI Register 6
  103.      bit 0  Reserved
  104.          1  Enable 640x400 Hercules emulation
  105.          2  Reserved
  106.          3  Select 4 color high res modes
  107.          4  Select 16 color high res modes
  108.          5  Enable vertical interrupts
  109.          6  Select composite sync for output
  110.          7  Disable blanking screen blank in CGA and Hercules
  111.         emulation
  112.  
  113.        1CEh index B7h (R/W): ATI Register 7
  114.        bit 0-7  Reserved
  115.  
  116.        1CEh index B8h (R/W): ATI Register 8
  117.      bit 0  Lock Palette registers in Attribute Controller
  118.          1  Lock Overscan register in Attribute Controller
  119.          2  Lock All VGA registers except CRTC start and end
  120.          3  Lock write to 3C2h
  121.          4  Lock horizontal sync polarity
  122.          5  Lock vertical sync polarity
  123.        6-7  Clock divider
  124.  
  125.        1CEh index B9h (R/W): ATI Register 9
  126.      bit 0  Clock select
  127.          1  Select input to clock chip
  128.        2-3  RAM address space
  129.        4-5  Wait cycles for 16 bit ROM access
  130.          6  Set horizontal total = register value +2 (vs +5)
  131.          7  Lock Line Compare register
  132.  
  133.        1CEh index BAh (R/W): ATI Register A
  134.        bit 0-2  Delay chain timing compensation
  135.          3  Disable secondary Red output (for RGB monitors)
  136.          4  Enable EGA color simulation for RGB monitors
  137.          5  Enable monochrome gray scale circuit
  138.          6  reserved
  139.          7  Delay chain resolution compensation
  140.  
  141.        1CEh index BBh (R/W): Input Status Register
  142.        bit 0-3  Monitor Type:
  143.          0: EGA
  144.          1: PS/2 Analog Monochrome
  145.          2: TTL Monochrome
  146.          3: PS/2 Color
  147.          4: RGB Color
  148.          5: MultiSync
  149.          7: PS/2 8514
  150.          8: Seiko 1430
  151.          9: NEC Multisync 2A
  152.          A: Crystalscan 860/Tatung 1439
  153.          B: NEC Multisync 3D
  154.          C: TVM 3M
  155.          D: NEC MultiSync XL
  156.          E: TVM 2A
  157.          F: TVM 3A
  158.          4  reserved
  159.          5  (V3-V5) 512Kbytes if set, 256K else
  160.        6-7  Reserved
  161.  
  162.        1CEh index BCh (R/W): ATI Register C
  163.        bit 0-7  reserved
  164.  
  165.        1CEh index BDh (R/W): ATI Register D
  166.        bit 0-3  Reserved
  167.        4-7  EGA switch settings
  168.  
  169.        1CEh index BEh (R/W): ATI Register E        (rev 2+)
  170.      bit 0  Unlock Vertical Display End register of the
  171.         CRT Controller
  172.          1  Enable interlace mode
  173.          2  Select internal EGA DIP switch value
  174.          3  Dual bank mode if set, single else
  175.        4-5  Reserved
  176.          6  Enable 1024x768 16 color mode
  177.          7  Enable 1024x768 4 color mode
  178.  
  179.  
  180.        3C0h (R/W):  Palette index register
  181.        bit 4-5  Mode 67h Palette
  182.          Value   Pixel=0    1      2            3
  183.            0       Black  White  Grey      Bright White
  184.            1       Black  Green  Red       Yellow
  185.            2       Black  Cyan   Red       White
  186.            3       Black  Cyan   Magenta   White
  187.  
  188.   Note:  The ATI chips handles the indexed registers slightly differently
  189.      from other VGA chips, as the index register must be written before
  190.      each read or write of the associated data register.
  191.  
  192.  
  193.  
  194.   Bank Switching
  195.  
  196.     Bank switching can use either one single bank register or two
  197.     separate read and write bank registers (18800-2 and 28800 Only).
  198.     Banks map to 64k boundaries.
  199.  
  200.   Reserved locations:
  201.  
  202.     $C000:$10   2 bytes   ATI Register (usually $1CE).
  203.     $C000:$31   9 bytes   '761295520' ID's ATI product
  204.     $C000:$40   2 bytes   '31' ID's ATI Super VGA
  205.               '32' = ATI EGA Wonder 800+
  206.               '22' = ATI EGA Wonder
  207.     $C000:$42   1 byte    Bit 0  Set for 16-bit boards
  208.                   1  Mouseport present if set
  209.                   2  Non-interlace if set
  210.                   3  Microchannel if set, PC/AT else
  211.                   4  Use clock chip if set
  212.                   7  Use C000:0000 to D000:FFFF with 16 bit ROM if set
  213.     $C000:$43   1 byte    Gate revision. 
  214.                  '1' = 18800   (Version 1),
  215.                  '2' = 18800-1 (Version 2),
  216.                  '3' = 28800-2 (Version 2 with VRAM).
  217.                  '4' = 28800-4  VGA Wonder+
  218.                  '5' = 28800-5  VGA Wonder XL
  219.                  '6' = ???  
  220.     $C000:$44   1 byte    Bit 0  If clear the board can support 70Hz 
  221.                  non-interlaced refresh 
  222.                   1  If set the board supports Korean characters
  223.                  in VGA mode 
  224.                   2  If set the board uses 45MHz memory clock
  225.                   3  If set the board supports zero wait states.
  226.                   4  If set the board uses paged ROMs.
  227.                   6  If clear there is 8514/A hardware on board
  228.                  (Graphics Ultra)
  229.                   7  If set there is a 32K color DAC on board. 
  230.     $C000:$4C   1 byte    Major Bios version
  231.     $C000:$4D   1 byte    Minor Bios version
  232.  
  233.  
  234.  
  235.  
  236.   ID ATI Super VGA Chip Set
  237.  
  238.     if (getbios($31,9)='761295520') and (getbios($40,2)='31') then
  239.     begin
  240.        {ATI_Super_VGA}
  241.       case mem[$c000:$43] of
  242.     $31: ATI 18800;
  243.     $32: ATI 18800-1;
  244.     $33: ATI 28800-2;
  245.     $34: ATI 28800-4;
  246.     $35: ATI 28800-5;
  247.       else unknown_ATI
  248.       end
  249.     end;
  250.  
  251.  
  252.  
  253.   Video Modes:
  254.     23h  T   132   25  16  (8x14)
  255.     27h  T   132   25   2  (8x14)
  256.     33h  T   132   44  16  (8x8)
  257.     37h  T   132   44   2  (8x8)
  258.     53h  G   800  560  16  planar
  259.     54h  G   800  600  16  planar
  260.     55h  G  1024  768  16  planar   (V4 or later)
  261.     58h  T    80   33      (8x8)
  262.     5Bh  T    80   30      (8x16)
  263.     61h  G   640  400 256  packed
  264.     62h  G   640  480 256  packed
  265.     63h  G   800  600 256  packed
  266.     64h  G  1024  768 256  packed   V6 (VGA Wonder +) or later
  267.     65h  G  1024  768  16  packed   ****  See note
  268.     67h  G  1024  768   4  planar   ****  See note
  269.     6Ah  G   800  600  16           Undocumented ??
  270.     72h  G   640  480 32k  Sierra 15-bit    V7 (XL) only
  271.     73h  G   800  600 32k  Sierra 15-bit    V7 (XL) only
  272.  
  273.  
  274.     ATI enhanced Graphics modes do NOT support INT 10h with AH=
  275.       01h..0Eh or 11h or 13h.
  276.  
  277.  
  278.     Mode 65h  1024x768 16 color
  279.       4 bits per pixel packed mode
  280.       Even pixel is in bits 0-3 of the byte, odd in bits 4-7.
  281.  
  282.     Mode 67h  1024x768  4 color
  283.       2 bits per pixel planar mode
  284.       Even pixels are in plane 2&3, odd pixels in plane 0&1.
  285.  
  286.  
  287.   Bios extensions:
  288.  
  289. ----------1012--BH55-------------------------
  290. INT 10 - VIDEO - ALTERNATE FUNC SELECT (ATI,Tatung,Taxan) - ENHANCED FEATURES
  291.     AH = 12h
  292.     BH = 55h
  293.     BL = subfunction
  294.           00h disabled enhanced features
  295.           01h enable enhanced features
  296.           02h get status
  297. Return:           AL = status flags
  298.                bit    3  set if enhanced features enabled
  299.                bits 7-5  monitor type
  300.                  000 PS/2 mono
  301.                  001 PS/2 color
  302.                  010 multi-sync
  303.                  011 Taxan 650 25kHz
  304.                  100 RGB
  305.                  101 mono
  306.                  110 EGA
  307.                  111 Compaq internal
  308.           03h disable register trapping (CGA emulation)
  309.           04h enable register trapping
  310.           05h program mode described by table at ES:BP
  311.           06h get mode table
  312.           AL = video mode
  313.           BP = FFFFh  (Known illegal value).
  314.           SI = 0000h  (Known illegal value).
  315. Return:           ES:BP -> table suitable for mode AL (and subfnc BL=05h)
  316.           BP = FFFFh on error
  317.  
  318. Format of ATI VGA Wonder video mode table:
  319. Offset  Size     Description
  320.  00h    BYTE     number of columns
  321.  01h    BYTE     maximum row (number of rows - 1)
  322.  02h    BYTE     scan lines per row
  323.  03h    WORD     video buffer size in bytes
  324.  05h   4 BYTEs   values for Sequencer registers 1-4
  325.  09h    BYTE     value for Miscellaneous Output register
  326.  0Ah   25 BYTEs  values for CRTC registers 00h-18h
  327.           00h horizontal total size (chars)
  328.           01h horizontal displayed (chars)
  329.           02h horizontal sync position (chars)
  330.           03h horizontal sync width (chars)
  331.           04h vertical total size (char rows)
  332.           05h vertical total adjust (scan lines)
  333.           06h vertical displayed (char rows)
  334.           07h vertical sync position (char rows)
  335.           08h interlace mode
  336.           09h max scan line in row
  337.           0Ah cursor start scan line
  338.           0Bh cursor end scan line
  339.           0Ch screen memory start (high)
  340.           0Dh screen memory start (low)
  341.           0Eh cursor address (high)
  342.           0Fh cursor address (low)
  343.           10h light pen (high)
  344.           11h light pen (low)
  345.  23h   20 BYTEs  default palette (values for Attribute Controller regs 00h-13h)
  346.  37h   9 BYTEs   values for Graphics Controller registers 00h-08h
  347.